#ifndef CASE_PRIVATE_H_
#define CASE_PRIVATE_H_

#include "Case.h"
/**
 * \struct _Case
 * \brief Définie la structue interne d'une case
 */ 
struct _Case{
	Plateau* plateau;
	List* persos;
	/**
	 * Héritage
	 */
	TypeCase type;
	void* ext;
	int (* executer)(Case* c);
	int (* executerSortie)(Case* c);
	void (* free)(Case* c);
};

/* Constructor */
Case* newCase(Plateau* plateau);

/* Getters */
void* caseGetExt(Case* c);

/* Settlers */
void caseSetType(Case* c,TypeCase type);
void caseSetPlateau(Case* c,Plateau* plateau);
void caseSetPersos(Case* c,List* persos);

#endif /*CASE_PRIVATE_H_*/
